package org.naxx.security.model.request;

import java.util.ArrayList;
import java.util.List;

import org.naxx.security.datatype.DataType;
import org.naxx.security.model.match.ValueHolder;

public final class Attribute {

	private String attributeId;
	private DataType dataType;
	private String issuer;
	private List<ValueHolder> values;
	
	public Attribute() {
		this.values = new ArrayList<ValueHolder>();
	}
	
	public Attribute(String attributeId, DataType dataType, 
			String issuer, List<ValueHolder> values) {
		
		this.attributeId = attributeId;
		this.dataType = dataType;
		this.issuer = issuer;
		this.values = values;
	}
	
	public String getAttributeId() {
		return this.attributeId;
	}
	public DataType getDataType() {
		return this.dataType;
	}
	public String getIssuer() {
		return this.issuer;
	}
	public List<ValueHolder> getValues() {
		return this.values;
	}
	public void setAttributeId(String attributeId) {
		this.attributeId = attributeId;
	}
	public void setDataType(DataType dataType) {
		this.dataType = dataType;
	}
	public void setIssuer(String issuer) {
		this.issuer = issuer;
	}
	public void setValues(List<ValueHolder> values) {
		this.values = values;
	}
	public void addValue(ValueHolder value) {
		this.values.add(value);
	}
}
